Modern surveillance systems have evolved into highly complex and often heterogeneous systems comprising a large number of different analogue and digital peripheral devices and computer hardware elements that are tied together via a networked infrastructure, and controlled by means of advanced management software. In this rapidly evolving field, surveillance/monitoring systems therefore face the constant challenge to support, handle and exploit a great variety of different hardware devices from a large number of different suppliers, wherein each hardware device usually comes with its own driver components and interfaces. Complex surveillance systems are therefore most suitably based on management software, which is build according to an open platform architecture with external programming interfaces allowing third party providers to program components that add value to the surveillance/monitoring system in the form of additional features and/or functionalities—without having to recode the management software.
When integrating external components in known systems, even in an open platform architecture, a large effort is required to ensure compatibility with different types of applications within the platform or with different versions of the same application. This adds considerably to the cost for developing and maintaining a given surveillance/monitoring system that typically relies on a considerable investment in specific peripheral hardware for providing signals and data, which instead of evolving with an improvement of the management software in the worst case may become useless.
U.S. Pat. No. 5,987,611 relates to a system for client-based monitoring and filtering of network access, which operates in conjunction with a centralized enforcement supervisor. A client-side filter is controlled by the centralized authority as long as the centralized authority has a way of enforcing non-compliance with pre-defined access rules, for example, by blocking access to an open network, such as a WAN or the Internet. U.S. Pat. No. 5,263,147 relates to a system for managing access to objects on a computer system, such as data and/or peripheral devices, where such access is requested from subjects, such as user applications running on a base computer of the system. Peripheral devices are coupled to the system through an external component representing the peripheral device and communicating with the system through a common executive platform. Each external component implements the peripheral device directly to the common executive platform of the system.
One way of addressing the problem of version stability and portability to different platforms is addressed by U.S. 2003/0079052. U.S. 2003/0079052 discloses the implementation of a platform independent plug-in, a so-called pluglet, for execution under a host application, wherein the disclosed host application is an internet browser, and wherein a specific implementation of the internet browser on a given operating system is referred to as a platform. The plug-in adds functionality to the browser, or enables the execution of an application within the browser. Different tasks, such as rendering different MIME types, require different pluglets. Each pluglet comprises a plug-in application programming interface (API) that cooperates with a so-called pluglet engine API through which the host application may access or exploit the functionality of the pluglet in a platform independent manner. The pluglet of U.S. 2003/0079052 is configured for performing a specific task in a host application in a platform independent manner. While the pluglet thereby addresses the problem of version stability and portability between similar host applications from different suppliers, it does not account for the highly complex nature of surveillance/monitoring systems.